http2.connect(authority[, options][, listener])

const http2 = require('http2');
const {
    HTTP2_HEADER_METHOD,
    HTTP2_METHOD_GET,
    HTTP2_HEADER_PATH
} = http2.constants;
const url = 'http://localhost:15500/';
const client = http2.connect(url, (session, listener) => {
    console.log(`Se estableció la conexión con el servidor ${url}`);
});
const req = client.request({
    [HTTP2_HEADER_METHOD]: [HTTP2_METHOD_GET],
    [HTTP2_HEADER_PATH]: '/'
});
req.on('response', (cabecerasRecibidas) => {
    console.dir(cabecerasRecibidas);

    req.on('data', (bytesRecibidos) => {
        const mensaje = bytesRecibidos.slice(0, bytesRecibidos.length);
        console.log(`Datos recibidos: ${mensaje.toString()}`);
    });

    req.on('end', () => client.destroy());
});

const http2 = require('http2');
const fs = require('fs');
const {
    HTTP2_HEADER_METHOD,
    HTTP2_METHOD_GET,
    HTTP2_HEADER_PATH
} = http2.constants;
const url = 'https://localhost:8443/';
const client = http2.connect(url, {
    ca: fs.readFileSync('./certs/cert.pem'),
    rejectUnauthorized: false
}, (session, listener) => {
    console.log(`Se estableció la conexión con el servidor ${url}`);
});
client.on('error', (err) => console.error(err));
const req = client.request({
    [HTTP2_HEADER_METHOD]: [HTTP2_METHOD_GET],
    [HTTP2_HEADER_PATH]: '/'
});
req.on('response', (cabecerasRecibidas, flags) => {
    console.dir(cabecerasRecibidas);
});
req.setEncoding('utf8');
let data = '';
req.on('data', (chunk) => {
    data += chunk;
});
req.on('end', () => {
    console.log(`Datos recibidos: ${data}`);
    client.close();
});